1. Field of the Invention
The present invention relates to rule-based data processing apparatuses and in particular to those having stored therein one or more agents, the or each agent being defined by a set of rules, and each rule being in the form of a condition portion and an associated response portion, with the condition portion of each rule requiring the presence of one or more specified behaviour states or external inputs and the apparatus comprising means for responding to any said condition being satisfied by generating the associated response. The invention additionally, but not exclusively, relates to process control and interactive entertainment apparatuses based around such a rule-based data processing apparatus.
2. Description of the Related Art
Rule-based processor systems may support behaviour languages in which behaviours are either simple operations performed on a value, or rules, where a rule defines logical and temporal relations between events (behaviour state changes). Events associated with the condition portion of a rule--also known as the left hand side behaviours of a rule--cause subsequent events associated with the response portion (right hand side behaviour) of the rule. An example of such a rule-based real time language is Real Time ABLE (RTA), described in "Simulating and Implementing Agents and Multiple Agent Systems" Proceedings of the European Simulation Multiconference 1991 at pages 226-231. ABLE stands for Agent Behaviour LanguagE and is a highly concurrent production rule language for simulating agents and multiple agent systems, and provides for tighter integration of time with the production rule system. A further example of a rule-based language is given in "The Behaviour Language; User's Guide" by R A Brooks, Al Memo 1227, Massachusetts Institute of Technology Artificial Intelligence Laboratory, April 1990.
Whilst rule-based languages provide greater flexibility than more traditional programming languages, their propagating nature can still lead to rigidity in, for example, process control where activation of process stages is strictly controlled in terms of starting, intermediate and finishing rule conditions and responses with little flexibility for unprogrammed events. Modification of the process to accommodate even minor procedural changes is also not a simple matter, sometimes requiring recompilation of the whole program to accommodate a small change in a programmed delay or procedure start time.
Rule-based systems have been suggested as particularly suited for artificial intelligence applications where more complex behavioural simulations may be implemented in interconnected networks or modules of agents. The above-mentioned problems recur however when modelling interaction scenarios between virtual "actors", each in the form of a compound group of interconnected agents, with different agents governing the virtual actors response to environmental factors and the actions of other virtual actors. If a "script" is to be followed, all of the virtual actors required conditions and potential responses must be programmed into the script such that the interaction becomes a rigidly controlled process with little or no variation in successive runnings. From an observers point of view, the `interaction` between the virtual actors is predictable and unrealistic.